Internet upstream request compression

ABSTRACT

Interactive internet activities are a very popular means for gathering information for business, personal, medical, entertainment and other purposes. Most internet interaction is asymmetrical in nature in that a client&#39;s requests for information are much smaller (in data size) than the resulting information delivered by the server. Although the client/internet link is inherently asymmetrical, there remains a great deal of interaction and overhead required between the client and the server that increases the bandwidth needs for the client&#39;s upstream request channel. There are many advantages to reducing this upstream traffic volume and thereby making the internet interaction even more asymmetrical. Such compression of request data could allow more clients to utilize a single upstream data path instead of separate paths.

TECHNICAL FIELD

This invention relates to interactive information requests over theinternet.

BACKGROUND ART

To gain access to the internet, a client (user) will typically logininto an Internet Service Provider (ISP) via a telephone or ISDN modem.This connection is typically a medium data rate (i.e., 9.6 to 28.8kbps), symmetrical connection. However, the client is typicallysearching for information, which leads to asymmetric communications. Forexample, a client (user) requesting a file download will send a smallupstream request (e.g., 200 bytes) but receive a large file (e.g. 200kbytes) in return from the server. In these types of connection thedownstream channel (i.e., return link) is the bottleneck.

The typical volume of downstream data to upstream data ratio is from10:1 to 20:1. Currently, asymmetrical channel services are beingdeployed (e.g., satellite broadcast, cable modems, ADSL, etc.) to takeadvantage of this ratio and reduce this downstream bottleneck. Theseservices typically increase the downstream channel capacity by using amedia with wider bandwidth (e.g., co-axial cable), and maintain orallocate a smaller bandwidth connection for the upstream user requestchannel. In some cases (such as satellite broadcast), an upstreamchannel path, independent of the downstream channel path, is utilized.

The Internet is a packet switch network, where the defacto protocolstandard is TCP/IP. The Internet Protocol (IP) provides the basicaddressing scheme for internet routing (where the information goes).Transmission Control Protocol (TCP) is very robust protocol designed forerror-free bulk data transfer and error detection and correction. On topof TCP/IP, an additional serial interface, protocol (e.g., PPP or SLIP)is used for connection with an ISP. From the standpoint of upstreamchannel efficiency, a typical internet request has a high degree ofpacket overhead to accommodate the layers of protocol, the errorcorrection, and the data coding scheme.

Browsing on the World Wide Web (WWW) (one of the most popular activitieson the internet) also leads to inefficient use of the upstream channel.This browsing is based on the HyperText Transfer Protocol (HTTP).Typically, a user sends an HTTP request for a Web Page to a particularserver on the internet and the server responds with requestedinformation. This transaction takes several phases (i.e., Connect,Request, Response, Close) to complete. In addition, the requestedinformation from the server is most commonly an HTTP file whichreferences graphical images, audio files, and/or additional text. Thebrowser will then automatically request the additional information(unless the user has manually selected to filter out certain highbandwidth file requests from being made). It is not uncommon for aninitial request of a web page to trigger 20 more requests which arerequired to complete the transaction and build the image seen throughthe browser.

THE PRESENT INVENTION

Although the implementation of asymmetrical internet connections hasmade internet interaction more efficient, there is yet more compressionthat can occur to make the upstream channel even more compact.

In this invention, the upstream traffic between the Client and theUpstream Gateway is compressed and reduced with the bulk of the internetcommunication performed at the Upstream and (in some cases) DownstreamGateway. This allows more users to be placed on multiple access upstreamchannels and/or reduce the user cost on a charge-by-the-byte upstreamchannel. This invention exploits the architecture of the IndirectNetwork Connection that is utilized in an asymmetrical internetconnection as well as the characteristic that the upstream channel fromthe Client to the Upstream Gateway is a point-to-point connection.

This invention utilizes four types of compression to reduce upstreamchannel traffic so that the ratio of downstream to upstream channeltraffic is increased significantly beyond the 20:1 ratio that is nowexperienced:

(1) Format compression of request packets.

The typical browser request contains ASCII symbols with characters andpatterns that are commonly repeated. For example, in the request:http://www.cnn.com/SPORTS/FOOTBALL/college/96/news.usarate.html“/” and “.” are the most common characters. Patterns like “http://”,“www”, “.com”, and “.html” are also common. A simple statisticalcompression or linear predication scheme could reduce the number ofbytes required for a request and would be appropriate for this real-timecompression application.

Software running at the Client site could operate beneath the browser tocompress the ASCII text requests prior to their TCP/IP formatting andthe full, uncompressed, request would be regenerated at the UpstreamGateway.

(2) Perform TCP and IP packetizinq at the Upstream Gateway rather thanat the Client:

Since the upstream channel between the Client and the Upstream Gatewayis a point-to-point link, the packet overhead of TCP and IP are notnecessarily required. Software running at the Client site would operatebeneath the browser to bypass the TCP/IP packet formation after theinitial connection is established. The Upstream Gateway would then takethe requests and add the TCP/IP overhead prior to transmission to theInternet.

(3) Keep a User Profile at the Upstream Gateway:

A large database could be implemented at the Upstream Gateway whichstores a Client's previous data requests. Software running at the Clientsite would operate beneath the browser to send a short address referencemessage to the Upstream Gateway to indicate a previously requested siteinstead of sending an entire request sequence. The Upstream Gateway, inturn, would look up the short address reference in the database for thatClient in order to send out the complete data request to the Internet.This could be implemented with a “Go back “N” requests” scheme or aBookmark scheme similar to those on a typical browser.

(4) Automatically generate additional HTTP requests:

The fact that a single web page likely requires multiple data requestsfrom the Client is the largest contributor to upstream data traffic.Instead of the Client system sending the automatic subsequent requestsfor additional data (referenced by the initial HTTP file delivered fromthe Server), the gateways could be programmed to receive the firstrequest response from a server and automatically make all of thesubsequent file requests for the Client. Each of the requested fileswould then be downloaded to the Client on the downstream channel as theyare received. This makes it possible to have only one data request to besent by the Client on the upstream channel (instead of a multitude) toassemble a web page.

In addition to the higher HTTP level compression, the gateways couldalso handle the lower HTTP level of connection, request, response, andclose messages with the Internet so that the Client would not berequired to send all of these separate messages on the upstream channel.

The Upstream and Downstream Gateways could operate in concert for thisservice, or they could operate independently with one gateway or theother managing the proxy requests.

Software running at the Client site would operate beneath the browser tomanage these compression functions. In addition, should the Client wishto filter out the request of certain files (e.g. to speed up theirinternet session or to reduce downstream bandwidth), the compressionmanagement software could send a message to the gateways to indicatethis and only the desired files would be automatically requested by thegateways.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, advantages and features of the inventionwill become more clear when considered with the following descriptionand accompanying drawings, wherein:

FIG. 1 (prior art) is a diagrammatic illustration of a typical indirectinternet connection,

FIG. 2 is a block diagram of the client processor for internet browsingwith a compressed upstream channel,

FIG. 3 is a block diagram illustrating a first compression techniqueincorporated in the invention,

FIG. 4 is a block diagram of a second compression techniqueincorporating the invention,

FIG. 5 is a block diagram illustrating a third compression techniqueincorporated in the invention, and

FIG. 6 is a block diagram illustrating a fourth compression techniqueincorporated in the invention.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates all the basic elements of an Indirect InternetConnection where the upstream and downstream data paths are asymmetricand different in their implementation. A Client (i.e., user) (1)requests information from a Server 7 (e.g., home page) somewhere on theinternet. It sends the request on the Upstream Channel (2) to theUpstream Gateway. The Upstream Gateway forwards the request onto theInternet (5) over a higher speed link (4) and it eventually arrives atthe addressed server (7). Server 7 responds to the request by addressingthe Downstream Gateway (10) and the Client (1). The response arrives atthe Downstream Gateway 10 from the Internet (5) over a high speed link(9) and the Downstream Gateway forwards the request to the Client overthe Downstream Channel (11). (In most internet service configurations,the two gateways are typically co-located (e.g., dial-up ISP, cableheadend, etc.), but it is also possible for the two gateways (andassociated upstream and downstream paths) to be separate and independent(e.g., satellite broadcast downstream, telephone line upstream).) FIG. 2shows an exploded view of the Client Processor CP and the relevantelements that would be needed for internet web browsing with acompressed upstream channel (for simplicity, only the upstream path isshown) according to the invention. The User (11) initiates aninformation request to the Internet Browser (13) through the UserInterface (12) (e.g., a query to a web page). The Internet Browser (13)sends a request message to the appropriate drivers (e.g. TCP/IP, PPP,SLP) of the operating system (e.g. Windows 95, Solaris, MacOS) where therequest message is formatted for transportation to and on the internet.For the Internet Drivers (14), the Custom Compression Application (15)(the subject of this invention) intercepts the request message andperforms the appropriate compression techniques (explained below) priorto delivery to the H/W Interface Driver (16), Communication Interface(17) and the Communication Path (18) for transmission to the UpstreamGateway (23) (FIG. 3), where the request message decompression takesplace.

FIG. 3 shows a description of the first compression technique where theASCII message format is compressed. A software application will run onthe Client (20), “below” the internet browser, so that all messages sentfrom the browser will pass through the compression software and theASCII text strings will be reduced by efficiently coding the repeatingor redundant characters real-time or near real-time (using a simplestatistical compression or linear predication scheme), then passed on tothe drivers that transmit the message on the Communication Channel (12)to the Upstream Gateway (23). The complementary software running at theUpstream Gateway (23) receives the messages from the CommunicationChannel (22) and reconstructs the full ASCII text string prior todelivery to transmission on the Communication Channel (24) to theInternet.

FIG. 4 shows a description of the second compression technique where theTCP and IP packetizing and overhead is added at the Upstream Gateway(23′). A software application will run on the Client (20′), “below” theinternet browser, so that all messages sent from the browser will beintercepted by the compression software and the unnecessary TCP/IPoverhead are not added. The complementary software running at theUpstream Gateway (23′) receives the messages from the CommunicationChannel (22) and reads (then removes) the client ID so that theappropriate TCP/IP overhead can then be added prior to delivery totransmission on the Communication Channel (24) to the Internet.

FIG. 5 shows a description of the third compression technique where ashort web address reference message is sent to the Upstream Gateway(23″). A software application will run on the Client (20″), “below” theinternet browser, which follows the user's web browsing and notesfrequently visited sites and also bookmarks that the user enters. Thesoftware can then exchange information with the Upstream Gateway (23″)so that a web site address is stored in a user profile database, andreferenced by the Client software by a short coded reference messagefrom the Client (20″) to the Upstream Gateway (23″) instead of thecomplete web site address. In addition, the user could manually set up anumber of sites that are to be referenced using this shortcut.

FIG. 6 illustrates the fourth compression technique where the UpstreamGateway (23′″) requests all additional web page graphics, images, etc.automatically. A software application will run on the Client (20′″),“below” the internet browser, so that the browser is inhibited fromautomatically requesting any subsequent graphics or image files that maybe referenced in the initial web page HTML file response. Instead, whena web page is addressed for delivery by the Client (20′″), the UpstreamGateway (23′″) will receive a copy of the initial web page HTML file andmake all of the subsequent file requests for the Client (20′″) therebyacting as an internet proxy for the Client (20′″). Should the user notwish for the subsequent files to be requested (e.g. in order to savedownstream bandwidth), a setting could be sent from the Client (20′″) tothe Upstream Gateway (23′″) which would set up the Upstream Gatewaysoftware to not make the requests.

FEATURES OF THE INVENTION

The upstream channel traffic from a Client can be significantly reduced,increasing the number of users on a multiple access upstream channel orreducing the required bandwidth for a single user. This is accomplishedby:

-   -   1. Compressing the data between the Client and Upstream Gateway.    -   2. Having the Upstream Gateway perform protocol overhead        functions.    -   3. Keeping a user profile at the Upstream Gateway.    -   4. Automatically generating new request at the gateway for the        client.

One or more of these techniques may be used to “compress” data trafficon the upstream request channel.

While the invention has been described in relation to preferredembodiments of the invention, it will be appreciated that otherembodiments, adaptations and modifications of the invention will beapparent to those skilled in the art.

1. In an interactive internet information distribution system in whichuser stations are connected to the internet by an internet serverthrough an upstream gateway for transmission of information requests tosaid internet server and downstream gateways for transmission ofinformation from the internet server to the user stations, theimprovement wherein each user station includes a processor, saidprocessor including: (a) means for interfacing with the user, (b) aninternet browser module connected to said interfacing means, (c)internet driver means connected to said internet browser means, (d)compression module connected to said internet driver means for reducingthe upstream traffic whereby the ratio of downstream to upstream channeltraffic is increased beyond a 20:1 ratio and wherein said upstreamgateway includes means for storing a profile of the users connectedthereto.
 2. In an interactive internet information distribution systemin which user stations are connected to the internet by an internetserver through an upstream gateway for transmission of informationrequests to said internet server and downstream gateways fortransmission of information from the internet server to the userstations, the improvement wherein each user station includes aprocessor, said processor including: (a) means for interfacing with theuser, (b) an internet browser module connected to said interfacingmeans, (c) internet driver means connected to said internet browsermeans, (d) compression module connected to said internet driver meansfor reducing the upstream traffic whereby the ratio of downstream toupstream channel traffic is increased beyond a 20:1 ratio and whereinsaid upstream gateway is adapted to perform protocol overhead functionsand includes means for storing a profile of the users connected thereto.3. In an interactive internet information distribution system in whichuser stations are connected to the internet by an internet serverthrough an upstream gateway for transmission of information requests tosaid internet server and downstream gateways for transmission ofinformation from the internet server to the user stations, theimprovement wherein each user station includes a processor, saidprocessor including: (a) means for interfacing with the user, (b) aninternet browser module, connected to said interfacing means, (c)internet driver means connected to said internet browser means, (d)compression module connected to said internet driver means for reducingthe upstream traffic whereby the ratio of downstream to upstream channeltraffic is increased beyond a 20:1 ratio and wherein said upstreamgateway includes means for automatically generating a new data requestfor a given user.
 4. The information distribution system defined inclaim 2 wherein said upstream gateway includes means for automaticallygenerating a new data request for a given user.
 5. The informationdistribution system defined in claim 1 wherein said upstream gatewayincludes means for automatically generating a new data request for agiven user.
 6. A method of reducing upstream request data from a clientto request information from a server, the method comprising: receivingan upstream request; compressing the upstream request data using aninternet driver, thereby generating a compressed upstream request; andoutputting the compressed upstream request using a connection-orientedcommunication protocol, wherein the compressed upstream request isoutput on an upstream channel and the requested information is receivedon a downstream channel having a substantially larger capacity than theupstream channel, wherein a ratio of downstream channel traffic toupstream channel traffic is increased beyond a 20:1 ratio.
 7. The methodof claim 6, wherein the upstream request is compressed using formatcompression.
 8. The method of claim 7, wherein said format compressionis a statistical compression.
 9. The method of claim 7, wherein saidformat compression is a linear prediction compression.
 10. The method ofclaim 6, wherein the upstream request is compressed by intercepting saidupstream request prior to the addition of network communicationsprotocol information, and generating the compressed upstream requestthat does not include network communications protocol information. 11.The method of claim 10, wherein said communications protocol is TCP/IP.12. The method of claim 6, wherein the upstream request is compressed byreplacing a previously used string with a short coded reference.
 13. Themethod of claim 12, wherein said previously used string is a web siteaddress.
 14. The method of claim 6, further comprising reducing thenumber of subsequent upstream requests output from said client.
 15. Themethod of claim 14, wherein said reducing the number of subsequentupstream requests is performed by inhibiting generation of automaticupstream requests based on embedded references contained within theinformation received in response to outputting the compressed upstreamrequest.
 16. The method of claim 14, wherein said client providescriteria to a gateway for generating requests based on the embeddedreferences contained within the information received in response tooutputting the compressed upstream request.
 17. A method of reducingupstream request data from a client to request information from aserver, the method comprising: receiving a compressed upstream requestaccording to a connection-oriented communication protocol, thecompressed upstream request being compressed using an internet driver,wherein a ratio of downstream channel traffic to upstream channeltraffic exceeds a ratio of 20:1; decompressing said compressed upstreamrequest to reconstruct an upstream request from the client; outputtingthe upstream request upon a communications network; and automaticallygenerating a new data request for a given user.
 18. The method of claim17, wherein the compressed upstream request is decompressed using formatdecompression.
 19. The method of claim 18, wherein said formatdecompression is a statistical decompression.
 20. The method of claim18, wherein said format decompression is a linear predictiondecompression.
 21. The method of claim 17, wherein the compressedupstream request is decompressed by adding network communicationsprotocol information to the compressed upstream request.
 22. The methodof claim 21, wherein said communications protocol is TCP/IP.
 23. Themethod of claim 17, wherein the compressed upstream request isdecompressed by replacing a short coded reference within the compressedupstream request with a predetermined string.
 24. The method of claim23, wherein said predetermined string is a web site address contained ina previously received upstream request.
 25. The method of claim 17,further comprising: receiving the information from the server inresponse to outputting the upstream request; generating a request foradditional information based on a reference identified within thereceived information; outputting the generated request upon saidcommunications network.
 26. The method as defined in claim 25, whereinsaid upstream request is an HTTP request for a web page, the informationreceived from the server is the requested web page, and the additionalinformation is a file referenced by the web page.
 27. The method ofclaim 26, wherein generating the request for the file referenced by theweb page is controlled by criteria provided by said client.
 28. Themethod of claim 17, wherein said decompressing is performed by anupstream gateway having stored therein a profile of users connected tothe upstream gateway.
 29. A client processor for requesting informationfrom a server in a communications network, the client processorcomprising a compression unit configured to receive an upstream request,to compress the received request using an internet driver, therebygenerating a compressed upstream request, and to output the compressedupstream request using a connection-oriented communication protocol,wherein client processor is connected to an upstream and a downstreamchannel, and the compressed upstream request is output on the upstreamchannel and the requested information is received on the downstreamchannel and a ratio of downstream traffic to upstream traffic isincreased beyond a 20:1 ratio.
 30. The client processor of claim 29,wherein the compression unit by compressing the upstream request reducestraffic on the upstream channel, thereby increasing a ratio ofdownstream to upstream traffic beyond a ratio of 20:1.
 31. The clientprocessor of claim 30, wherein the downstream channel has asubstantially larger capacity than the upstream channel.
 32. The clientprocessor of claim 30, wherein the compression unit compresses theupstream request by using format compression.
 33. The client processorof claim 32, wherein said format compression is a statisticalcompression.
 34. The client processor of claim 32, wherein said formatcompression is a linear prediction compression.
 35. The client processorof claim 30, wherein the compression unit compresses the upstreamrequest by intercepting said upstream request prior to the addition ofnetwork communications protocol information and generating thecompressed request in a manner that the compressed request does notinclude network communications protocol information.
 36. The clientprocessor of claim 35, wherein said communications protocol is a TCP/IP.37. The client processor of claim 30, wherein the compression unitcompresses the upstream request by replacing a string within theupstream request with a short coded reference.
 38. The client processorof claim 37, wherein said predetermined string is a web site addresscontained in a previously output upstream request.
 39. The clientprocessor of claim 30, wherein the compression unit reduces the numberof subsequent requests output from said client.
 40. The client processorof claim 39, wherein the compression unit reduces the number ofsubsequent upstream requests by inhibiting generation of automaticupstream requests based on embedded references contained within theinformation received in response to outputting the compressed upstreamrequest.
 41. The client processor of claim 39, wherein said clientprovides criteria to a gateway for generating requests based on theembedded references contained within the information received inresponse to outputting the compressed upstream request.
 42. An upstreamprocessor coupled to a client processor via an upstream channel and to aserver via a communication network, the upstream processor comprising adecompression unit configured to receive from the client processor acompressed upstream request for information from the server, thecompressed upstream request being compressed using an internet driver,wherein a ratio of downstream channel traffic to upstream channeltraffic exceeds a ratio of 20:1, and to decompress the compressedupstream request to reconstruct an upstream request from the client,wherein the decompression unit is configured to receive the compressedupstream request according to a connection-oriented communicationprotocol, wherein said decompression unit is configured to automaticallygenerate a new data request for a given user.
 43. The upstream processorof claim 42, wherein the decompression unit decompresses the compressedupstream request by using format decompression.
 44. The upstreamprocessor of claim 43, wherein said format decompression is astatistical decompression.
 45. The upstream processor of claim 43,wherein said format decompression is a linear prediction decompression.46. The upstream processor of claim 42, wherein the decompression unitdecompresses the compressed upstream request by adding networkcommunications protocol information to the compressed request.
 47. Theupstream processor of claim 46, wherein said communications protocol isTCP/IP.
 48. The upstream processor of claim 42, wherein thedecompression unit decompresses the compressed upstream request byreplacing a short coded reference within the compressed upstream requestwith a predetermined string.
 49. The upstream processor of claim 48,further comprising a user profile database having recorded therein thepredetermined string in association with the short coded reference. 50.The upstream processor of claim 48, wherein said predetermined string isa web site address contained in a previously received upstream request.51. The upstream processor of claim 42, the decompression unitcomprising: means for receiving the information from the server inresponse to outputting the upstream request; means for generating arequest for additional information based on a reference within thereceived information; and means for outputting the generated requestupon said communications network.
 52. The upstream processor of claim51, wherein said upstream request is an HTTP request for a web page, theinformation received from the server is the requested web page, and theadditional information is a file referenced by the web page.
 53. Theupstream processor of claim 51, wherein the means for generating therequest for the file referenced by the web page is controlled bycriteria provided by said client.
 54. The upstream processor of claim42, further comprising a storage unit having stored therein a profile ofusers connected to the upstream gateway.
 55. In an interactive internetinformation distribution system in which user stations are connected tothe internet by an internet server through an upstream gateway fortransmission of information requests to said internet server anddownstream gateways for transmission of information from the internetserver to the user stations, the improvement wherein each user stationincludes a processor, said processor including: (a) an internet browsermodule, (b) internet driver means connected to said internet browsermodule, (c) compression module connected to said internet driver meansfor reducing the upstream traffic whereby the ratio of downstream toupstream channel traffic is increased beyond a 20:1 ratio and whereinsaid upstream gateway includes means for storing a profile of the usersconnected thereto.
 56. In an interactive internet informationdistribution system in which user stations are connected to the internetby an internet server through an upstream gateway for transmission ofinformation requests to said internet server and downstream gateways fortransmission of information from the internet server to the userstations, the improvement wherein each user station includes aprocessor, said processor including: (a) an internet browser module, (b)internet driver means connected to said internet browser module, (c)compression module connected to said internet driver means for reducingthe upstream traffic whereby the ratio of downstream to upstream channeltraffic is increased beyond a 20:1 ratio and wherein said upstreamgateway is adapted to perform protocol overhead functions and includesmeans for storing a profile of the users connected thereto.
 57. In aninteractive internet information distribution system in which userstations are connected to the internet by an internet server through anupstream gateway for transmission of information requests to saidinternet server and downstream gateways for transmission of informationfrom the internet server to the user stations, the improvement whereineach user station includes a processor, said processor including: (a) aninternet browser module, (b) internet driver means connected to saidinternet browser module, (c) compression module connected to saidinternet driver means for reducing the upstream traffic whereby theratio of downstream to upstream channel traffic is increased beyond a20:1 ratio and wherein said upstream gateway includes means forautomatically generating a new data request for a given user.